给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
数据范围:二叉树的节点数量满足 ,二叉树节点的值满足 ,树的各节点的值各不相同
示例 1:
function preorderTraversal(root) { // write code here let result = []; if (root) { result.push(root.val); result.push(...preorderTraversal(root.left)); result.push(...preorderTraversal(root.right)); } return result; }
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型一维数组 */ function preorderTraversal(root) { // write code here let result = []; const main = (node) => { if (node) { result.push(node.val); main(node.left); main(node.right); } }; main(root); return result; } module.exports = { preorderTraversal: preorderTraversal, };
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型一维数组 */ function preorderTraversal( root ) { if(!root) return [] let array = [] preorder(root, array) return array } function preorder(node, arr) { node.val && arr.push(node.val) node.left && preorder(node.left, arr) node.right && preorder(node.right, arr) } module.exports = { preorderTraversal : preorderTraversal };